//
//  ViewController.swift
//  1-11-闭包的演练
//
//  Created by 范英强 on 16/1/23.
//  Copyright © 2016年 范英强. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
//        let callback = { (result: String) -> () in
//           print("更新UI\(result)")
//        }
        loadData ({ (result: String) -> () in
            print("更新UI\(result)")
        })
        //尾随闭包 当函数中最后的一个参数是闭包的话 可以写在函数外面
    }
    
    func loadData(callback: (result: String) -> ()){
        //异步到网络请求的数据不能直接返回
        dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in
            
            //模拟一个耗时caozuo
            NSThread.sleepForTimeInterval(2)
            let result = "办证 137xxxx"
            
            dispatch_async(dispatch_get_main_queue(), { () -> Void in
                //刷新UI
                print("end")
               callback(result: result)
                
            })
        }
        print("end1")
    }

    


}

